package ynu.edu.elmspringboot.controller;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import ynu.edu.elmspringboot.po.Cart;
import ynu.edu.elmspringboot.service.CartService;

import java.sql.Wrapper;
import java.util.List;
import java.util.Map;

@RestController
@RequestMapping("/CartController")
@Slf4j
public class CartController {
    @Autowired
    private CartService cartService;

    @PostMapping("/listCart")
    public List<Cart> listCart(String userId) {
        return cartService.listCart(userId);
    }

    @PostMapping("/saveCart")
    public int saveCart(Cart cart) {
        if (cart.getQuantity() == null) {
            cart.setQuantity(1); // 设置默认值
        }

        return cartService.save(cart) ? 1 : 0;
    }

    @PostMapping("/updateCart")
    public int updateCart(Cart cart) {
        // 打印接收到的参数
        log.info("Updating cart: {}", cart);

        // 验证必要字段
        if (cart.getCartId() == null || cart.getQuantity() == null) {
            return 0;
        }

        // 确保数量大于0
        if (cart.getQuantity() <= 0) {
            return 0;
        }

        return cartService.updateById(cart) ? 1 : 0;
    }

    @PostMapping("/removeCart")
    public int removeCart(Cart cart) {
        // 确保quantity为0
        cart.setQuantity(0);
        return cartService.removeCart(cart);
    }
}
